Termination w.r.t. Q of the following Term Rewriting System could be proven:
Q restricted rewrite system:
The TRS R consists of the following rules:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
Q is empty.
↳ QTRS
↳ Overlay + Local Confluence
Q restricted rewrite system:
The TRS R consists of the following rules:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
Q is empty.
The TRS is overlay and locally confluent. By [15] we can switch to innermost.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
Q restricted rewrite system:
The TRS R consists of the following rules:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
The set Q consists of the following terms:
filter(cons(x0), 0, x1)
filter(cons(x0), s(x1), x2)
sieve(cons(0))
sieve(cons(s(x0)))
nats(x0)
zprimes
Using Dependency Pairs [1,13] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:
ZPRIMES → SIEVE(nats(s(s(0))))
ZPRIMES → NATS(s(s(0)))
The TRS R consists of the following rules:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
The set Q consists of the following terms:
filter(cons(x0), 0, x1)
filter(cons(x0), s(x1), x2)
sieve(cons(0))
sieve(cons(s(x0)))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
Q DP problem:
The TRS P consists of the following rules:
ZPRIMES → SIEVE(nats(s(s(0))))
ZPRIMES → NATS(s(s(0)))
The TRS R consists of the following rules:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
The set Q consists of the following terms:
filter(cons(x0), 0, x1)
filter(cons(x0), s(x1), x2)
sieve(cons(0))
sieve(cons(s(x0)))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
We deleted some edges using various graph approximations
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
ZPRIMES → SIEVE(nats(s(s(0))))
ZPRIMES → NATS(s(s(0)))
The TRS R consists of the following rules:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
The set Q consists of the following terms:
filter(cons(x0), 0, x1)
filter(cons(x0), s(x1), x2)
sieve(cons(0))
sieve(cons(s(x0)))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 0 SCCs with 2 less nodes.